import celery

# 消息中间件(使用redis)

broker = 'redis://127.0.0.1:6379/1'  # 1 表示使用redis 1 这个db

# 结果存储(使用redis)
backend = 'redis://127.0.0.1:6379/2'  # 2 表示使用redis 2 这个db

# 实例化得到对象，指定中间件和结果存储

app = celery.Celery('test', broker=broker, backend=backend)

app.autodiscover_tasks(['celery_task.task.send_sms', ])
# 是否使用UTC，在这里我们设置东八区时间
app.conf.enable_utc = False

# 时区
app.conf.timezone = 'Asia/Shanghai'

# 任务的定时配置
from datetime import timedelta
from celery.schedules import crontab

app.conf.beat_schedule = {
    'send-msg': {
        'task': 'celery_task.task.send_sms',
        'schedule': timedelta(seconds=3),  # 每隔一天提交一次任务
        # 'schedule': crontab(hour=8, day_of_week=1),  # 每周一早八点
        # 'schedule': crontab(hour=8, day_of_month=1),  # 每月一号早八点
        'args': ('18964352112',),
    }
}
